package com.ego.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ego.admin.po.SysLoginLog;
import com.ego.admin.vo.SysLoginLogVo;
import com.ego.common.vo.PageVo;

import javax.servlet.http.HttpServletRequest;
import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Map;

/**
 * @program: ego
 * @description: 登录日志报表
 * @author: KamTang
 * @create: 2023-02-16 15:58
 **/
public interface SysLoginLogService extends IService<SysLoginLog> {

    /**
     * 记录登录日志
     * @param request 请求
     * @throws UnsupportedEncodingException
     */
    void addLoginReport(HttpServletRequest request) throws UnsupportedEncodingException;

    /**
     * 登入日志列表
     * @param params 参数
     * @return PageVo<SysLoginLogPo>
     * @see PageVo
     */
    PageVo<SysLoginLog> findLoginLog(Map<String, Object> params);


    /**
     * 登入报表
     * @param username 用户名
     * @return 结果集
     */
    List<Map<String, Object>> loginReport(String username);

    /**
     * 获取上次登录信息
     * @param username 用户名字
     * @return @see LoginLogVO
     * @see SysLoginLogVo
     */
    SysLoginLogVo getLastLoginInfo(String username);
}
